'''
Created on 05/08/2012

@author: Romina
'''
from domain.entity import Entity
from domain.entities.usuario import Usuario
from domain.entities.direccion import Provincia, Departamento, Localidad, Barrio
from domain.entities.tipodocumento import TipoDocumento

class Condicion(Entity):
    
    @property
    def descripcion(self):
        return self.__descripcion
    @descripcion.setter
    def descripcion(self, value):
        self.__descripcion = value
            
    def __init__(self):
        Entity.__init__(self)
        self.__descripcion = ""
        
        
class ModoComunicacion(Entity):
    
    @property
    def descripcion(self):
        return self.__descripcion
    @descripcion.setter
    def descripcion(self, value):
        self.__descripcion = value
            
    def __init__(self):
        Entity.__init__(self)
        self.__descripcion = ""
            

class Comunicacion(Entity):
    '''
    classdocs
    '''
    
    def __init__(self):
        Entity.__init__(self)
        self.__modalidad = ModoComunicacion()
        self.__condicion = Condicion()
        self.__usuario = Usuario()
        self.__provincia = Provincia()
        self.__departamento = Departamento()
        self.__localidad = Localidad()
        self.__barrio = Barrio()
        self.__telefono = ""
        self.__mail = ""
        self.__cuil = ""
        self.__cuit = ""
        self.__nro_documento = None
        self.__tipo_documento = TipoDocumento()
        self.__nombre = ""
        self.__genero = None
        self.__fecha = None
        
    @staticmethod
    def deserialize(fields):
        comunicacion = Comunicacion()
        comunicacion.ID = fields.id
        comunicacion.modalidad.ID = fields.modalidad
        comunicacion.condicion.ID = fields.condicion
        comunicacion.usuario.ID = fields.usuario
        comunicacion.barrio.ID = fields.barrio
        comunicacion.localidad.ID = fields.localidad
        comunicacion.provincia.ID = fields.provincia
        comunicacion.telefono = fields.telefono
        comunicacion.mail = fields.mail
        comunicacion.genero = fields.genero
        comunicacion.fecha = fields.creado_en
        comunicacion.cuil = fields.cuil
        comunicacion.cuit = fields.cuit
        comunicacion.tipo_doc = fields.tipo_documento
        comunicacion.nro_doc = fields.nro_documento
        comunicacion.nombre = fields.nombre
        return comunicacion
            

    
    @property
    def modalidad(self):
        return self.__modalidad
    @modalidad.setter
    def modalidad(self, value):
        self.__modalidad = value
        
    @property
    def nombre(self):
        return self.__nombre
    @nombre.setter
    def nombre(self, value):
        self.__nombre = value

    @property
    def condicion(self):
        return self.__condicion
    @condicion.setter
    def condicion(self, value):
        self.__condicion = value

    @property
    def usuario(self):
        return self.__usuario
    @usuario.setter
    def usuario(self, value):
        self.__usuario = value
        
    @property
    def provincia(self):
        return self.__provincia
    @provincia.setter
    def provincia(self, value):
        self.__provincia = value
        
        
    @property
    def departamento(self):
        return self.__departamento
    @departamento.setter
    def departamento(self, value):
        self.__departamento = value
        
    @property
    def localidad(self):
        return self.__localidad
    @localidad.setter
    def localidad(self, value):
        self.__localidad = value
        
        
    @property
    def barrio(self):
        return self.__barrio
    @barrio.setter
    def barrio(self, value):
        self.__barrio = value
            
    @property
    def telefono(self):
        return self.__telefono
    @telefono.setter
    def telefono(self, value):
        self.__telefono = value
            
    @property
    def mail(self):
        return self.__mail
    @mail.setter
    def mail(self, value):
        self.__mail = value
        
    @property
    def tipo_doc(self):
        return self.__tipo_doc
    @tipo_doc.setter
    def tipo_doc(self, value):
        self.__tipo_doc = value
        
    @property
    def nro_doc(self):
        return self.__nro_doc
    @nro_doc.setter
    def nro_doc(self, value):
        self.__nro_doc = value
        
    @property
    def cuil(self):
        return self.__cuil
    @cuil.setter
    def cuil(self, value):
        self.__cuil = value
        
    @property
    def cuit(self):
        return self.__cuit
    @cuit.setter
    def cuit(self, value):
        self.__cuit = value
        
    @property
    def fecha(self):
        return self.__fecha
    @fecha.setter
    def fecha(self, value):
        self.__fecha = value

        

        
        
        
        

        
    